Release 10.1A: OpenEdge Development:
.NET Open Clients


ProDataSet to ADO.NET DataSet mappings

A key aspect of the Progress DataSet (ProDataSet) is its ability to map to an ADO .NET DataSet. The ProDataSet is passed between .NET and the AppServer as a parameter to a procedure or user-defined function. For static ProDataSets, ProxyGen creates ADO .NET DataSet classes for each unique ProDataSet definition. For dynamic ProDataSets, Proxygen uses the standard ADO .NET DataSet class for the parameters.

The ProDataSet is a collection of one or more member temp-table buffers. It also optionally contains a collection of Data-Relations among the member temp-table buffers. You can define a temp-table as being LIKE a database table, and you can add fields of any type to this definition, or you can define the table as a set of fields independent of any particular database table. You can also define indexes to manage large sets of data efficiently.

An ADO.NET DataSet shares all of these characteristics. OpenEdge supports the creation of a ProDataSet on the AppServer, passing that ProDataSet to a .NET client application, allowing that application to manipulate the data and return the changes to the AppServer to update the data source for the ProDataSet.

Table 4–5 shows how the 4GL component maps to its companion object in ADO.NET.

Table 4–5: 4GL component to ADO .NET object mapping
4GL component
.NET object
ProDataSet
System.Data.Dataset
or strongly typed DataSet
Buffer / Temp-Table
System.Data.DataTable
System.Data.DataRow
or strongly typed DataTable
Buffer Field
System.Data.DataColumn 
Data-Relation
System.Data.DataRelation 
Primary Key
System.Data.UniqueConstraint 
Unique non-primary index
System.Data.UniqueConstraint 


Copyright © 2005 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095